Implements FUnknown and IDependent. More...
#include <fobject.h>
Public Member Functions | |
FObject () | |
default constructor... | |
FObject (const FObject &) | |
overloaded constructor... | |
virtual | ~FObject () |
destructor... | |
FObject & | operator= (const FObject &) |
overloads operator "=" as the reference assignment | |
virtual FClassID | isA () const |
a local alternative to getFClassID () | |
virtual bool | isA (FClassID s) const |
evaluates if the passed ID is of the FObject type | |
virtual bool | isTypeOf (FClassID s, bool=true) const |
evaluates if the passed ID is of the FObject type | |
int32 | getRefCount () |
returns the current interface reference count | |
FUnknown * | unknownCast () |
get FUnknown interface from object | |
virtual tresult | queryInterface (const TUID iid, void **obj) |
please refer to FUnknown::queryInterface () | |
virtual uint32 | addRef () |
please refer to FUnknown::addref () | |
virtual uint32 | release () |
please refer to FUnknown::release () | |
virtual void | update (FUnknown *, int32) |
empty virtual method that should be overridden by derived classes for data updates upon changes | |
void | addDependent (IDependent *dep) |
adds dependency to the object | |
void | removeDependent (IDependent *dep) |
removes dependency from the object | |
virtual void | changed (int32 msg=kChanged) |
Inform all dependents, that the object has changed. | |
virtual void | deferUpdate (int32 msg=kChanged) |
Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates). | |
virtual void | updateDone (int32) |
empty virtual method that should be overridden by derived classes | |
Static Public Member Functions | |
static FClassID | getFClassID () |
return Class ID as an ASCII string (statically) | |
static void | setUpdateHandler (IUpdateHandler *handler) |
set method for the local attribute | |
static IUpdateHandler * | getUpdateHandler () |
get method for the local attribute | |
static bool | classIDsEqual (FClassID ci1, FClassID ci2) |
compares (evaluates) 2 class IDs | |
static FObject * | unknownToObject (FUnknown *unknown) |
pointer conversion from FUnknown to FObject | |
Static Public Attributes | |
static const FUID | iid |
Special UID that is used to cast an FUnknown pointer to a FObject. | |
Protected Attributes | |
int32 | refCount |
COM-model local reference count. | |
Static Protected Attributes | |
static IUpdateHandler * | gUpdateHandler = 0 |
Implements FUnknown and IDependent.
FObject is a polymorphic class that implements IDependent (of SKI module) and therefore derived from FUnknown, which is the most abstract base class of all.
All COM-like virtual methods of FUnknown such as queryInterface(), addRef(), release() are implemented here. On top of that, dependency-related methods are implemented too.
Pointer casting is done via the template methods FCast, either FObject to FObject or FUnknown to FObject.
FObject supports a new singleton concept, therefore these objects are deleted automatically upon program termination.
FObject | ( | ) | [inline] |
default constructor...
virtual ~FObject | ( | ) | [inline, virtual] |
destructor...
static FClassID getFClassID | ( | ) | [inline, static] |
return Class ID as an ASCII string (statically)
Reimplemented in StringObject, FLockObject, and UpdateHandler.
virtual FClassID isA | ( | ) | const [inline, virtual] |
a local alternative to getFClassID ()
Reimplemented in StringObject, FLockObject, and UpdateHandler.
virtual bool isA | ( | FClassID | s | ) | const [inline, virtual] |
evaluates if the passed ID is of the FObject type
Reimplemented in StringObject, FLockObject, and UpdateHandler.
virtual bool isTypeOf | ( | FClassID | s, | |
bool | = true | |||
) | const [inline, virtual] |
evaluates if the passed ID is of the FObject type
Reimplemented in StringObject, FLockObject, and UpdateHandler.
int32 getRefCount | ( | ) | [inline] |
returns the current interface reference count
FUnknown* unknownCast | ( | ) | [inline] |
get FUnknown interface from object
tresult queryInterface | ( | const TUID | iid, | |
void ** | obj | |||
) | [virtual] |
please refer to FUnknown::queryInterface ()
uint32 addRef | ( | ) | [virtual] |
please refer to FUnknown::addref ()
Reimplemented in StringObject, and UpdateHandler.
uint32 release | ( | ) | [virtual] |
please refer to FUnknown::release ()
Reimplemented in StringObject, and UpdateHandler.
virtual void update | ( | FUnknown * | , | |
int32 | ||||
) | [inline, virtual] |
empty virtual method that should be overridden by derived classes for data updates upon changes
void addDependent | ( | IDependent * | dep | ) |
adds dependency to the object
void removeDependent | ( | IDependent * | dep | ) |
removes dependency from the object
void changed | ( | int32 | msg = kChanged |
) | [virtual] |
Inform all dependents, that the object has changed.
void deferUpdate | ( | int32 | msg = kChanged |
) | [virtual] |
Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).
virtual void updateDone | ( | int32 | ) | [inline, virtual] |
empty virtual method that should be overridden by derived classes
static void setUpdateHandler | ( | IUpdateHandler * | handler | ) | [inline, static] |
set method for the local attribute
static IUpdateHandler* getUpdateHandler | ( | ) | [inline, static] |
get method for the local attribute
FObject * unknownToObject | ( | FUnknown * | unknown | ) | [inline, static] |
pointer conversion from FUnknown to FObject
int32 refCount [protected] |
COM-model local reference count.
IUpdateHandler * gUpdateHandler = 0 [static, protected] |